GPU user guide¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
What is GPU¶
GPU (Graphics Processing Unit) is a chip in the device dedicated to “drawing” and “computing images”. The CPU is responsible for “thinking” — processing logic and running programs. The GPU is responsible for “drawing” — rendering content into images displayed on the screen. The RK3576 integrates an ARM Mali-G52 MC3 GPU (up to 900 MHz). The desktop interface, video playback, and 3D games all rely on it for rendering.
Where the GPU Works in Daily Use¶
Scenario |
What the GPU Does |
|---|---|
Desktop interface |
Window compositing, animation transitions, app switching |
Video playback |
Color processing and scaling of video frames |
Web browsing |
Web content compositing, scrolling rendering |
3D apps/games |
3D scene rendering |
Video conferencing |
Video effects, virtual backgrounds |
The M2 Debian desktop (GNOME) uses GPU compositing rendering by default. The GPU works all the time during daily operations; no manual enabling is required.
Using the GPU on M2¶
Scenario 1: Video Playback (GPU Rendering Output)¶
Use GStreamer to play video, with frames rendered by the GPU to the screen (Wayland):
# Play the onboard test video (hardware decode + GPU rendering display)
gst-launch-1.0 filesrc location=/oem/SampleVideo_1280x720_5mb.mp4 ! \
qtdemux ! h264parse ! mppvideodec ! waylandsink
# Desktop environment variables (GNOME user session)
export XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0
Normal playback display indicates the GPU rendering pipeline works correctly.
Scenario 2: Running GPU Performance Test (glmark2)¶
glmark2 is an OpenGL performance benchmark. The score reflects overall GPU performance:
# Install
sudo apt install glmark2-wayland
# Run in the desktop session (M2 / Debian)
XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 glmark2-wayland
M2 measured score: 745 (all items). Observe GPU frequency changes while running:
watch -n1 cat /sys/class/devfreq/27800000.gpu/cur_freq
# Frequency rises from 300MHz to 900MHz during benchmark
Scenario 3: Writing Your Own OpenGL Program (Development)¶
The M2 Mesa Panfrost driver supports OpenGL ES 3.1 and Desktop GL 3.1. You can develop with standard OpenGL:
# Install development libraries
sudo apt install libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev
# Compile GLES program (es2gears as example)
sudo apt install mesa-utils-extra
es2gears
If the program reports “Could not initialize canvas”, there is no available graphics session — you need to log in to the GNOME desktop first.
FAQ¶
Problem |
Solution |
|---|---|
3D programs report “Could not initialize canvas” |
Log in to the GNOME desktop first; SSH without a desktop session cannot run it |
Desktop lag / frame drops |
Check GPU frequency: cat /sys/class/devfreq/27800000.gpu/cur_freq |
Desktop GL programs cannot run on SMARC |
SMARC only supports GLES 3.2; use the GLES version or switch to M2 |
GPU overheating |
RK3576 GPU heats up under full load; pay attention to heat dissipation |